package com.zatech.cgnci.project.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 承保政策表
 * </p>
 *
 * @author Generator
 * @since 2024-12-17
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("cgnci_underwriting_policy")
@ApiModel(value = "CgnciUnderwritingPolicyDO对象", description = "承保政策表")
public class CgnciUnderwritingPolicyDO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("政策ID")
    @TableId(value = "policy_id", type = IdType.ASSIGN_ID)
    private Long policyId;

    @ApiModelProperty("业务ID")
    private Long businessId;

    @ApiModelProperty("险类")
    private String riskClass;

    @ApiModelProperty("险类代码")
    private String riskClassCode;

    @ApiModelProperty("险种")
    private String riskSubType;

    @ApiModelProperty("险种代码")
    private String riskSubTypeCode;

    @ApiModelProperty("是否涉核(1-是，0-否),码表值:isYes")
    private String isExamine;

    @ApiModelProperty("保额／赔偿限额/最大自留额(单位：人民币)")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal insuredAmountRmb;

    @ApiModelProperty("保额／赔偿限额/最大自留额(单位：美元)")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal insuredAmountDollar;

    @ApiModelProperty("自留额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal retentionAmount;

    @ApiModelProperty("自留额币种")
    private String retentionCurrency;

    @ApiModelProperty("自留额汇率")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal retentionRate;

    @ApiModelProperty("是否超最大净自留限额(1-是，0-否),码表值:isYes")
    private String exceedLimit;

    @ApiModelProperty("再保分出安排(1-临分分出,2-合约分出,3-预约临分分出),码表值:reinsuranceArrangement")
    private String reinsuranceArrangement;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("创建人")
    private String createUser;

    @ApiModelProperty("更新时间")
    @TableField(update = "now()")
    private Date updateTime;

    @ApiModelProperty("更新人")
    private String updateUser;


}
